package com.dingwei.superiordiary.mvp.view;

import com.dingwei.superiordiary.base.LogisticsBean;
import com.dingwei.superiordiary.bean.AboutUsBean;
import com.dingwei.superiordiary.bean.AddressBookBean;
import com.dingwei.superiordiary.bean.BlackBean;
import com.dingwei.superiordiary.bean.BrowseHistoryBean;
import com.dingwei.superiordiary.bean.CollectListBean;
import com.dingwei.superiordiary.bean.CommentBean;
import com.dingwei.superiordiary.bean.CommentSuccessBean;
import com.dingwei.superiordiary.bean.CommodityDetailsBean;
import com.dingwei.superiordiary.bean.CommunityNewsBean;
import com.dingwei.superiordiary.bean.ConfirmOrderBean;
import com.dingwei.superiordiary.bean.FIndUserBean;
import com.dingwei.superiordiary.bean.GoodsCommentSuccessBean;
import com.dingwei.superiordiary.bean.GoodsListBean;
import com.dingwei.superiordiary.bean.IndexAttentionBean;
import com.dingwei.superiordiary.bean.Index_Bean;
import com.dingwei.superiordiary.bean.IntegerLogBean;
import com.dingwei.superiordiary.bean.IntegerMallBean;
import com.dingwei.superiordiary.bean.LogisticsLogBean;
import com.dingwei.superiordiary.bean.LookUserCenterBean;
import com.dingwei.superiordiary.bean.MoreReplyBean;
import com.dingwei.superiordiary.bean.MyAddressBean;
import com.dingwei.superiordiary.bean.MyCareMeBean;
import com.dingwei.superiordiary.bean.MyCarePersonalBean;
import com.dingwei.superiordiary.bean.MyCenterBean;
import com.dingwei.superiordiary.bean.MyCollectPostsBean;
import com.dingwei.superiordiary.bean.MyCommentBean;
import com.dingwei.superiordiary.bean.MyEvaluationBean;
import com.dingwei.superiordiary.bean.MyLevelBean;
import com.dingwei.superiordiary.bean.MyLikesBean;
import com.dingwei.superiordiary.bean.MyPostsBean;
import com.dingwei.superiordiary.bean.MyReleaseBean;
import com.dingwei.superiordiary.bean.MyhistoryPostsBean;
import com.dingwei.superiordiary.bean.NewNoticeMessageBean;
import com.dingwei.superiordiary.bean.NoticeBean;
import com.dingwei.superiordiary.bean.OrderListBean;
import com.dingwei.superiordiary.bean.OrderPayBean;
import com.dingwei.superiordiary.bean.PersonalBean;
import com.dingwei.superiordiary.bean.PostDetailsBean;
import com.dingwei.superiordiary.bean.ProductsBean;
import com.dingwei.superiordiary.bean.ReviewListBean;
import com.dingwei.superiordiary.bean.SafeSetBean;
import com.dingwei.superiordiary.bean.SearchBean;
import com.dingwei.superiordiary.bean.ServiceLogBean;
import com.dingwei.superiordiary.bean.SetStateBean;
import com.dingwei.superiordiary.bean.ShareBean;
import com.dingwei.superiordiary.bean.ShopCartListBean;
import com.dingwei.superiordiary.bean.TipTypeBean;
import com.dingwei.superiordiary.bean.Upload_Head_Image_Bean;
import com.dingwei.superiordiary.bean.UserDataBean;
import com.dingwei.superiordiary.bean.VerietyShopBean;
import com.lihao.baselibrary.base.baseView;

/**
 * Created by lihao on 2017/9/1.
 */

public class Contract {
    /**
     * 首页
     */
    public interface MainView extends baseView {

        void setNewNoticeMessageBean(NewNoticeMessageBean bean);
    }
    /**
     * 首页-精选
     */
    public interface SelectedView extends baseView {

        void initData(Index_Bean bean);

        void OnFails();

        void OnLoadMore(ProductsBean bean);

        void OnRefresh(ProductsBean bean);
    }
    /**
     * 首页-发现
     */
    public interface IndexAttentionView extends baseView {

        void OnRefresh(boolean isRefresh, IndexAttentionBean bean);

        void OnLoadMore(boolean isRefresh, IndexAttentionBean bean);

        void OnFail();

        void likeSuccess(int position);

        void hateSuccess(int position);

        void attentionActionSuccess(int position);

        void collectSuccess(int position);
    }
    /**
     * 首页-发现
     */
    public interface SearchPostListView extends baseView {

        void OnRefresh(boolean isRefresh, IndexAttentionBean bean);

        void OnLoadMore(boolean isRefresh, IndexAttentionBean bean);

        void OnFail();

        void likeSuccess(int position);

        void hateSuccess(int position);

        void attentionActionSuccess(int position);

        void collectSuccess(int position);
    }
    /**
     * 首页-杂货铺
     */
    public interface VarietyShopView extends baseView {

        void setData(VerietyShopBean bean);

        void onFail();
    }
    /**
     * 首页-我的
     */
    public interface MineView extends baseView {

        void setUserData(MyCenterBean bean);

        void signSuccess();

        void setNewNoticeMessageBean(NewNoticeMessageBean bean);
    }
    /**
     * 设置
     */
    public interface SetUpView extends baseView {

    }
    /**
     * 个人资料
     */
    public interface PersonalDataView extends baseView {

        void setUserData(PersonalBean bean);

        void uploadPicSuccess(Upload_Head_Image_Bean bean);

        void ChooseSex(String gender);

        void saveGenderSuccess(String gender);

        void Fail();

    }
    /**
     * 管理收货地址
     */
    public interface MyAddressView extends baseView {

        void setData(MyAddressBean bean);

        void onFail();

        void deleteSuccess(int position);

        void setDefaultSuccess(int position);
    }
    /**
     * 新增收货地址
     */
    public interface AddAddressView extends baseView {

        void checkCity(String provinceId, String provinceName, String cityId, String cityName, String countyid, String countyName);

        void saveAddressSuccess();


    }
    /**
     * 浏览历史
     */
    public interface BrowseHistoryView extends baseView {

        void onFail();

        void onRefresh(BrowseHistoryBean bean);

        void onLoadMore(BrowseHistoryBean bean);

        void deleteSuccess(int position);
    }
    /**
     * 我的收藏
     */
    public interface MyCollectionView extends baseView {

        void onRefresh(CollectListBean bean);

        void onLoadMore(CollectListBean bean);

        void onFail();

        void deleteSuccess(int position);
    }
    /**
     * 我的收藏 --帖子
     */
    public interface MyCollectionPostsView extends baseView {

        void onRefresh(MyCollectPostsBean bean);

        void onLoadMore(MyCollectPostsBean bean);

        void onFail();

        void deleteSuccess(int position);
    }
    /**
     * 我的收藏 --帖子
     */
    public interface MyHistoryPostsView extends baseView {

        void onRefresh(MyhistoryPostsBean bean);

        void onLoadMore(MyhistoryPostsBean bean);

        void onFail();

        void deleteSuccess(int position);
    }
    /**
     * 我的帖子
     */
    public interface MyPostsView extends baseView {

        void onRefresh(MyPostsBean bean);

        void onLoadMore(MyPostsBean bean);

        void onFail();

        void deleteSuccess(int position);
    }
    /**
     * TA的帖子
     */
    public interface HisPostsView extends baseView {

        void onRefresh(MyPostsBean bean);

        void onLoadMore(MyPostsBean bean);

        void onFail();

        void attentionedSuccess(int position);
    }
    /**
     * 我关注的人
     */
    public interface MyCarePersonalView extends baseView {

        void onRefresh(MyCarePersonalBean bean);

        void onLoadMore(MyCarePersonalBean bean);

        void onFail();

        void attentionSuccess(int position);

    }
    /**
     * 关注我的人
     */
    public interface MyCareMeView extends baseView {

        void onRefresh(MyCareMeBean bean);

        void onLoadMore(MyCareMeBean bean);

        void onFail();

        void attentionSuccess(int position);
    }
    /**
     * 登录
     */
    public interface LoginView extends baseView {

        void loginSuccess();

        void bindPhone(String name, String type,String code);
    }
    /**
     * 注册
     */
    public interface RegisterView extends baseView {

        void CountDownTimerFinish();

        void CountDownTimeronTick(long millisUntilFinished);

        void registerSuccess();
    }
    /**
     * 找回密码
     */
    public interface ForgetPasswordView extends baseView {

        void CountDownTimerFinish();

        void CountDownTimeronTick(long millisUntilFinished);

        void forgetPasswordSuccess();
    }
    /**
     * 我的订单
     */
    public interface MyOrderView extends baseView {

        void onRefresh(OrderListBean bean);

        void onLoadMore(OrderListBean bean);

        void onFail();

        void orderConfirmSuccess(int position);

        void deleteOrderSuccess(int position);

        void wxPay(OrderPayBean bean);

        void alipay(OrderPayBean bean);
    }
    /**
     * 退货
     */
    public interface ReturnGoodsView extends baseView {

        void onFail();

        void onSuccess();
    }
    /**
     * 等待审核
     */
    public interface WaitAuditView extends baseView {

        void onFail();

        void getData(ServiceLogBean bean);
    }
    /**
     * 填写物流单号
     */
    public interface FillInLogisticsNumberView extends baseView {

        void submitSuccess();
    }
    /**
     * 审核完成
     */
    public interface FindingsAuditView extends baseView {

    }
    /**
     * 我的发布
     */
    public interface MyReleaseView extends baseView {

        void OnRefresh(boolean isReferesh, MyReleaseBean bean);

        void OnLoadMore(boolean isReferesh, MyReleaseBean bean);

        void OnFail(boolean isReferesh);

        void deleteSuccess(int position);
    }
    /**
     * 次元plus
     */
    public interface FeedbackView extends baseView {

        void feedbackSuccess();
    }
    /**
     * 关于我们
     */
    public interface AboutUsView extends baseView {

        void onFail();

        void setData(AboutUsBean bean);
    }
    /**
     * 我的评论
     */
    public interface MyEvaluationView extends baseView {

        void onRefresh(MyEvaluationBean bean);

        void onLoadMore(MyEvaluationBean bean);

        void onFail();

        void deleteSuccess(int position);
    }
    /**
     * 排行榜
     */
    public interface RankingListView extends baseView {

    }
    /**
     * 排行榜-Fragment
     */
    public interface RankingListFragmentView extends baseView {

        void onRefresh(GoodsListBean bean);

        void onLoadMore(GoodsListBean bean);

        void onFail();
    }
    /**
     * 新优品
     */
    public interface NewSuperiorProductsView extends baseView {

        void onFail();

        void onLoadMore(GoodsListBean bean);

        void onRefresh(GoodsListBean bean);
    }
    /**
     * 发现详情
     */
    public interface FindDetailsView extends baseView {

        void SetHotSort();
        void SetZhengSort();
        void SetDaoSort();

        void Fail();

        void setData(PostDetailsBean bean);

        void OnRefresh(boolean isRefresh, CommentBean bean);

        void OnLoadMore(boolean isRefresh, CommentBean bean);

        void commentLikeSuccess(int dataPosition, int position);

        void LikeSuccess();

        void commentSuccess(CommentSuccessBean bean);

        void TrampleSuccess();

        void trampleCommentSuccess(int position);

        void attentionActionSuccess();

        void collect();

        void share();

        void report();

        void collectSuccess();
    }

    /**
     * 发布社区内容
     */
    public interface ReleaseCommunityView extends baseView {

        void saveSuccess();

        void onFail();
    }
    /**
     * 修改昵称
     */
    public interface ModifyNickNameView extends baseView{
        void saveNickNameSuccess(String nickname);
    }
    /**
     * 修改昵称
     */
    public interface ModifyIdiographView extends baseView{
        void saveIdiographSuccess(String idiograph);

    }
    /**
     * 修改昵称
     */
    public interface ModifyNickAgeView extends baseView{
        void saveNickAgeSuccess(String age);
    }
    /**
     * 更多回复
     */
    public interface MoreReplyView extends baseView{
        void replySuccess(String content);


        void OnRefresh(boolean isRefresh, MoreReplyBean bean);

        void OnLoadMore(boolean isRefresh, MoreReplyBean bean);

        void onFail();

        void Report();

        void likeSuccess();

    }

    /**
     * 更多回复
     */
    public interface CommentMoreReplyView extends baseView{
        void replySuccess(String content);


        void OnRefresh(boolean isRefresh, MoreReplyBean bean);

        void OnLoadMore(boolean isRefresh, MoreReplyBean bean);

        void onFail();

        void Report();

        void likeSuccess();

        void shield();

        void shieldCommentSuccess();

        void SetHotSort();

        void SetDaoSort();

        void SetZhengSort();

        void collect();

        void share();

        void report();

        void collectSuccess();

        void commentLikeSuccess(int position);

        void trampleCommentSuccess(int position);

        void attentionActionSuccess();
    }
    /**
     * 举报
     */
    public interface ReportView extends baseView {

        void getData(TipTypeBean bean);

        void tipSuccess();
    }
    /**
     * 社区消息
     */
    public interface CommunityNewsView extends baseView {

        void onFail();

        void onLoadMore(CommunityNewsBean bean);

        void onRefresh(CommunityNewsBean bean);

        void deleteSuccess(int position);
    }

    /**
     * 编辑搜索框
     */
    public interface SearchEditView extends baseView {

        void setData(SearchBean bean);
    }
    /**
     * 搜索好友
     */
    public interface SearchUserView extends baseView {

        void setData(FIndUserBean bean);

        void attentionSuccess(int position);
    }
    /**
     * 商品详情
     */
    public interface CommodityDetailsView extends baseView {

        void getData(CommodityDetailsBean bean);

        void likeGoods();

        void commentLikeSuccess(int position);

        void LikeSuccess();

        void onFail();

        void share();

        void commentSuccess(GoodsCommentSuccessBean bean, int position);

        void CollectGoods();

        void collectSuccess();
    }
    /**
     * 评论列表
     */
    public interface ReviewListView extends baseView {

        void SetHotSort();

        void SetTimeSort();

        void OnRefresh(boolean isRefresh, ReviewListBean bean);

        void OnLoadMore(boolean isRefresh, ReviewListBean bean);

        void OnFail();

        void LikeSuccess();

        void commentLikeSuccess(int position);

        void saveCommentSuccess();
    }
    /**
     * 编辑订单
     */
    public interface EditOrderView extends baseView {

    }
    /**
     * 确认订单
     */
    public interface FirmOrderView extends baseView {

        void wxPay(OrderPayBean bean);

        void alipay(OrderPayBean bean);

        void exchangeSuccess(OrderPayBean bean);
    }
    /**
     * 签到
     */
    public interface SignFragmentView extends baseView {

        void signSuccess();

        void onRefresh(IntegerLogBean bean);

        void onLoadMore(IntegerLogBean bean);

        void onFail();
    }
    /**
     * 动态
     */
    public interface DynamicragmentView extends baseView {

    }
    /**
     * 次元币商城
     */
    public interface IntegalMallView extends baseView {

        void onRefresh(IntegerMallBean bean);

        void onLoadMore(IntegerMallBean bean);

        void onFail();
    }
    /**
     * 次元币商品详情
     */
    public interface IntegerDetailsView extends baseView {

        void getData(CommodityDetailsBean bean);

        void onFail();
    }

    /**
     * 物流公司
     */
    public interface LogisticsView extends baseView {

        void getData(LogisticsBean bean);

        void onFail();
    }
    /**
     * 物流公司
     */
    public interface LogisticsLogView extends baseView {

        void setData(LogisticsLogBean bean);

        void onFail();
    }
    /**
     * 绑定手机
     */
    public interface BindPhoneView extends baseView {

        void CountDownTimerFinish();

        void CountDownTimeronTick(long millisUntilFinished);

        void loginSuccess();
    }
    /**
     * 分享有礼
     */
    public interface ShareView extends baseView {

        void share(ShareBean bean, String type);
    }
    /**
     * 购物车
     */
    public interface ShopCartView extends baseView {

        void setData(ShopCartListBean bean);

        void onFail();

        void editCartNumSuccess(int storePosition, int position, int num);

        void deleteSuccess(int storePosition, int position);
    }

    /**
     * 确认订单
     */
    public interface ConfirmOrderView extends baseView {
        void wxPay(OrderPayBean bean);

        void alipay(OrderPayBean bean);
        void onFail();

        void setData(ConfirmOrderBean bean);
    }
    /**
     * 转发编辑
     */
    public interface ForwardEditingView extends baseView {
        void forwardSuccess();
    }
    /**
     * 通知设置
     */
    public interface NotifySetView extends baseView {
        void setData(SetStateBean bean);

        void noticeSettingSuccess();
    }
    /**
     * 隐私设置
     */
    public interface PrivacyView extends baseView {
        void setData(SetStateBean bean);

        void privacySettingSuccess();
    }
    /**
     * 其他设置
     */
    public interface OtherView extends baseView {
        void setData(SetStateBean bean);


        void settingUploadImgSuccess();
    }
    /**
     * 个人说评论权限
     */
    public interface ReviewPermissionsView extends baseView {
        void setData(SetStateBean bean);


        void commentAuthStateSuccess();
    }
    /**
     * 我赞过的
     */
    public interface MyLikesView extends baseView {
        void onRefresh(MyLikesBean bean);

        void onLoadMore(MyLikesBean bean);

        void onFail();
    }
    /**
     * 我的评论
     */
    public interface MyCommentView extends baseView {
        void onRefresh(MyCommentBean bean);

        void onLoadMore(MyCommentBean bean);

        void onFail();

        void deleteSuccess(int position);
    }
    /**
     * 查看个人中心
     */
    public interface LookUserCenterView extends baseView {

        void onFail();

        void onLoadMore(LookUserCenterBean bean);

        void onRefresh(LookUserCenterBean bean);

        void collectSuccess(int position);

        void SetActivityTopSuccess(int position, String top);

        void DeleteSuccess(int position);

        void likeSuccess(int position);

        void attentionActionSuccess();

        void lahei();

        void jubao();

        void joinBlackListSuccess();
    }
    /**
     * 安全设置
     */
    public interface SafeSetView extends baseView {

        void onFail();

        void setData(SafeSetBean bean);

        void unbindQQSuccess();

        void bindQQSuccess();

        void unbindWXSuccess();

        void bindWXSuccess();
    }
    /**
     * 黑名单
     */
    public interface BlackView extends baseView {

        void onFail();

        void onLoadMore(BlackBean bean);

        void onRefresh(BlackBean bean);

        void blackStateSaveSuccess(String type, int position);

        void removeBlackListSuccess(int position);
    }
    /**
     * 随机推荐用户
     */
    public interface FindUserView extends baseView {

        void setData(FIndUserBean bean);

        void attentionSuccess(int position);
    }
    /**
     * 通讯录好友
     */
    public interface AddressBookView extends baseView {
        void setData(AddressBookBean bean);

        void attentionSuccess(int position);

        void fail();
    }
    /**
     * 消息通知
     */
    public interface NoticeView extends baseView {
        void onFail();

        void onRefresh(NoticeBean bean);

        void loadMore(NoticeBean bean);

        void readSuccess(int position);

        void deleteSuccess(int position);
    }
    /**
     * 我的等级
     */
    public interface MyLevelView extends baseView {
        void setData(MyLevelBean bean);

        void onFail();
    }

}
